<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>1_函数式组件</title>
</head>

<body>
    <div id="test"></div>
    <script type="text/javascript" src="../js/react.development.js"></script>
    <script type="text/javascript" src="../js/react-dom.development.js"></script>
    <script type="text/javascript" src="../js/babel.min.js"></script>
    <script type="text/babel">
        // 创建函数式组件
        function MyCompontent() {
            console.log(this); // undefined，因为babel编译后默认严格模式，所以this为undefined，如果想使用this，则可以改为箭头函数
            return <h1>我是用函数定义的组件(适用于【简单组件】的定义)</h1>
        }
        // 渲染组件到页面
        ReactDOM.render(<MyCompontent />, document.getElementById('test'));
        /**
         * 执行了ReactDOM.render(<MyCompontent />, document.getElementById('test'));之后，发生了什么？
         *    1. React解析组件标签，找到了MyComponent组件
         *    2. 发现组件是使用函数定义的，随后调用该函数，将返回的虚拟DOM转为真实DOM，随后渲染到页面上
         *    3. 注意：组件的首字母必须大写，否则会被认为是普通的HTML标签
         *             组件必须有返回值
         *             渲染的时候必须使用标签的形式，并且闭合
         */
    </script>
</body>

</html>